/**
 * 请求工具负责进行公共业务设计
 */
 import axios from "axios";
 //按需引入
import {Message} from "element-ui"
 //重新创建一个axios
 const newAxios = axios.create({
     //请求公共地址
     baseURL:"http://jacklv.cn:3001/",
     //超过3s后端没有响应，前端自动断开请求
     timeout:3000
 })

 //给axios绑定请求拦截器
//use里面提供两个回调函数，第一个成功回调，第二个代表失败回调
newAxios.interceptors.request.use((req)=>{
    // console.log(" 请求拦截器 成功回调",req)
    localStorage.getItem("token")
    if(localStorage.token){
        req.headers.Authorization = localStorage.token
    }
    return req;
},()=>{
    console.log(" 请求拦截器 失败回调")
})

//给axios绑定响应拦截器
//请求成功，服务器一定响应结果。
//成功可以进入第一个回调函数
//失败可以进入第二个回调函数
newAxios.interceptors.response.use((resp)=>{
    // console.log("响应拦截器，成功结果",resp)
    //后端数据传递回来特殊格式，你需要同意处理
    return resp;
},(error)=>{
    const response = error.response
    if(response){
        switch(response.status){
            case 500:
                Message.error("服务器异常")
                break;
            case 401:
                Message.error("身份认证过期")
                localStorage.removeItem("token")
                localStorage.removeItem("userInfo")
                //页面调整
                window.location.assign("/login")
                break;
        }
    }
    console.log("响应拦截器，失败结果",resp)
})
 export default newAxios